import { Table, Column, Model, DataType } from 'sequelize-typescript';
/**
 * 行程
 */
@Table({
	tableName: 'travel_basic',
})
export class TravelBasic extends Model<TravelBasic> {
	/**
	 * 主键id
	 */
	@Column({
		type: DataType.INTEGER,
		allowNull: false,
		primaryKey: true,
	})
	id: number;
	/**
	 * 行程标题
	 */
	@Column({
		type: DataType.STRING(255),
		allowNull: false,
	})
	title: number;
	/**
	 * 行程描述
	 */
	@Column({
		type: DataType.STRING(255),
		allowNull: false,
	})
	describe: number;
	/**
	 * 行程状态
	 */
	@Column({
		type: DataType.STRING(255),
		allowNull: false,
	})
	status: number;
	/**
	 * 出行交通
	 */
	@Column({
		type: DataType.STRING(255),
		allowNull: false,
	})
	transport: number;
	/**
	 * 行程类型
	 */
	@Column({
		type: DataType.STRING(255),
		allowNull: false,
	})
	travelType: number;
	/**
	 * 预计出行人数
	 */
	@Column({
		type: DataType.INTEGER,
		allowNull: false,
	})
	peopleNum: number;
	/**
	 * 预计出行天数
	 */
	@Column({
		type: DataType.INTEGER,
		allowNull: true,
	})
	dayNum: number;
	/**
	 * 预算
	 */
	@Column({
		type: DataType.DECIMAL,
		allowNull: true,
	})
	spend: number;
	/**
	 * 实际出行人数
	 */
	@Column({
		type: DataType.INTEGER,
		allowNull: true,
	})
	factPeopleNum: number;
	/**
	 * 实际游玩天数
	 */
	@Column({
		type: DataType.INTEGER,
		allowNull: true,
	})
	factDayNum: number;
	/**
	 * 实际开始日期
	 */
	@Column({
		type: DataType.DATE,
		allowNull: true,
	})
	startDate: number;
	/**
	 * 实际结束日期
	 */
	@Column({
		type: DataType.DATE,
		allowNull: true,
	})
	endDate: number;
	/**
	 * 分享日期
	 */
	@Column({
		type: DataType.DATE,
		allowNull: true,
	})
	shareDate: number;
	/**
	 * 实际花费
	 */
	@Column({
		type: DataType.DECIMAL,
		allowNull: true,
	})
	factSpend: number;
	/**
	 * 点赞数量
	 */
	@Column({
		type: DataType.INTEGER,
		allowNull: true,
	})
	thumbsUpNum: number;
	/**
	 * 查看数量
	 */
	@Column({
		type: DataType.INTEGER,
		allowNull: true,
	})
	viewsNum: number;
	/**
	 * 收藏数量
	 */
	@Column({
		type: DataType.INTEGER,
		allowNull: true,
	})
	collectNum: number;
	/**
	 * 使用数量
	 */
	@Column({
		type: DataType.INTEGER,
		allowNull: true,
	})
	useNum: number;
	/**
	 * 使用行程消耗积分
	 */
	@Column({
		type: DataType.INTEGER,
		allowNull: false,
		defaultValue: '0',
	})
	timeCoin: number;
	/**
	 * 创建时间
	 */
	@Column({
		type: DataType.DATE,
		allowNull: false,
	})
	createTime: number;
	/**
	 * 用户id
	 */
	@Column({
		type: DataType.INTEGER,
		allowNull: false,
	})
	userId: number;
	/**
	 * 更新时间
	 */
	@Column({
		type: DataType.DATE,
		allowNull: true,
	})
	updateTime: number;
	/**
	 * 标签
	 */
	@Column({
		type: DataType.STRING(255),
		allowNull: true,
	})
	tag: number;
}
